package com.example.pages;

import org.openqa.selenium.WebElement;
import org.openqa.selenium.support.FindBy;

public class LoginPage extends AnyPage {

	@FindBy(id = "loginform")
	public WebElement loginForm;
	
	@FindBy(id = "username")
	public WebElement userNameField;
	
	@FindBy(name = "password")
	public WebElement passwordField;
	
	@FindBy(name = "submit")
	public WebElement loginButton;

	public boolean IsOnThisPage() {
		return loginForm.isDisplayed();
	}
	
	public  InternalPage loginWithValidCredentials(String username, String password) {
		userNameField.clear();
		userNameField.sendKeys(username);
		
		passwordField.clear();
		passwordField.sendKeys(password);
		
		loginButton.click();
		return MyPageFactory.getPage(driver, InternalPage.class);
	}
	
	public LoginPage loginWithWrongCredentials(String username, String password) {
		userNameField.clear();
		userNameField.sendKeys(username);
		
		passwordField.clear();
		passwordField.sendKeys(password);
		
		loginButton.click();
		return MyPageFactory.getPage(driver, LoginPage.class);
	}

	@Override
	void tryToOpen() {
		MyPageFactory.getPage(driver, InternalPage.class).logout();
	}

	
}
